Supporting Unanticipated Changes with Traits and Classboxes

نویسندگان

  • Alexandre Bergel
  • Stéphane Ducasse
چکیده

On the one hand, traits are a powerful way of structuring classes. Traits support the reuse of method collections over several classes. However, traits cannot be used when specifying unanticipated changes to an application. On the other hand, classboxes are a new module system that supports the local redefinition of classes: a collection of classes can be locally extended with variables and/or methods and the existing clients do not get impacted by changes. However, an extension applied to a class by a classbox cannot be reused for other classes. This paper describes how combining Traits and Classboxes supports the safe introduction of crosscutting collaborations: safe because the existing clients of the classes do not get impacted, crosscutting because collaborations between several classes can be put in place in a unanticipated manner. In the resulting system, a collaboration is represented by a classbox and a role by a trait.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Classboxes: Supporting Unanticipated Variation Points in the Source Code

Software product lines refer to engineering techniques for creating a portfolio of similar software systems from a shared set of software assets in a controlled way. Managing variability is the key issue of software product line practice. Modelling variation points is largely addressed by a selection of linguistic constructs and modelling techniques (e.g., design pattern, macro, configuration f...

متن کامل

Classboxes: A Minimal Module Model Supporting Local Rebinding

Classical module systems support well the modular development of applications but do not offer the ability to add or replace a method in a class that is not defined in that module. On the other hand, languages that support method addition and replacement do not provide a modular view of applications, and their changes have a global impact. The result is a gap between module systems for object-o...

متن کامل

Scoped and Dynamic Aspects with Classboxes

Atomically introducing changes to a group of classes is a challenging task. In addition, certain applications require that changes be applied dynamically without shutting down and restarting the application. In this paper we present an extension of classboxes to make them dynamic. A classbox is a kind of module that supports class extension and instance variable addition. Class extensions and d...

متن کامل

Mise en symbiose des traits et des classboxes. Application à l expression des collaborations

The trait model is complementary to class inheritance and allows collections of methods to be reused by several classes. The classbox model allows a collection of classes to be locally extended with variables and/or methods addition. This paper describes a symbiosis of these two models: classes can be locally extended by using a trait. It is illustrated by an efficient implementation of the col...

متن کامل

On the Integration of Classboxes into C#

Classboxes are a new module system for object-oriented languages defining a packaging and scoping mechanism for controlling the visibility of isolated extensions to portions of class-based systems. Unlike object-oriented specialization, the class extension mechanisms supported by classboxes preserve the identity of extended classes and, therefore, all clients of extended classes can benefit fro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005